<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  <title>星杓（成都）信息科技有限公司-首页</title>
  <meta name="keywords" content="星杓（成都）信息科技有限公司">
  <meta name="description" content="">
  <meta name="author" content="order by www.91084.com">
  <link href="/xskjcd-com/css/bootstrap.min.css" rel="stylesheet">
  <link href="/xskjcd-com/css/owlcarousel.css" rel="stylesheet">
  <link href="/xskjcd-com/css/style.css" rel="stylesheet">
  <link href="/xskjcd-com/css/animate.min.css" rel="stylesheet">
  <link rel="stylesheet" href="/xskjcd-com/css/index_style.css">
  <link rel="stylesheet" href="/xskjcd-com/css/banner.css">
  <link rel="stylesheet" href="/xskjcd-com/css/master.css">
  <link rel="stylesheet" href="/xskjcd-com/css/model.css">
  <script src="/xskjcd-com/js/wow.min.js"></script>
  <script src="/xskjcd-com/js/jquery.min.js"></script>
  <script src="/xskjcd-com/js/jquery.lazyload.js"></script>
  <!--[if IE 9]>
  <script src="/xskjcd-com/js/html5shiv.min.js"></script>
  <script src="/xskjcd-com/js/respond.min.js"></script>
  <script>window.location.href='http://www.goody.com.cn/2014/updatebrowser';</script>
  <![endif]-->
  <script>
    new WOW().init();
  </script>
  <script src="http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=452212"></script><link rel="stylesheet" href="http://bdimg.share.baidu.com/static/api/css/share_style1_32.css">
  <style>
    /*放外部样式表可能不生效 --我们的优势*/
    .pictrue-2 ul li:before{content: "";display: inline-block;height: 160px;width: 168px;background: url(/xskjcd-com/images/my-rotate.webp);animation: updown 0.2s ease-in-out 2.7s infinite alternate;}
    .pictrue-2 ul li:after{content: "";display: inline-block;height: 160px;width: 168px;background: url(/xskjcd-com/images/my-rotate2.webp);animation: updown 0.2s ease-in-out 2.7s infinite alternate; display: none}
    .pictrue-2 ul li:hover::after {display: block;}
    .pictrue-2 .huan1{ position: absolute; left: 50%; top: 50%; z-index: 1; margin:-261px 0 0 -261px; width:522px; height: 523px; background: url(/xskjcd-com/images/huan.webp) no-repeat center; }
    @media (max-width: 767px){  .pictrue-2 ul li:after, .pictrue-2 ul li:before {margin: -45px 0 0 -45px;width: 100%;height: 100%;background-size: 100% 100%;}  }
    /**/
  </style>
</head>
<body class="index hover">
<header class="shouye">
  <div class="container-fluid">
    <div class="row">
      <div class="col-xs-12 clearfix">
        <div class="logo pull-left"><a href="/xskjcd-com"><img src="/xskjcd-com/images/logo_210.webp" alt="某某电子设备有限公司"></a></div>
        <div class="menu pull-right">
          <ul class="list-unstyled no-margin pull-left" style="padding-top: 30px">
            <li class="pull-left active li0"><a href="/xskjcd-com" class="tr text-center">首页</a></li>
            <li class="pull-left  li1"><a href="/xskjcd-com/aboutus" class="tr text-center">关于我们</a>
              <div class="ul" style="display: none; height: 100px; padding-top: 25px; margin-top: 0px; padding-bottom: 0px; margin-bottom: 0px;">
                <div class="li"><a href="/xskjcd-com/aboutus/gsjs" class="tr">公司介绍</a></div>
                <div class="li"><a href="/xskjcd-com/aboutus/qywh" class="tr">企业文化</a></div>
                <div class="li"><a href="/xskjcd-com/aboutus/hzhb" class="tr">合作伙伴</a></div>
              </div>
            </li><li class="pull-left  li2"><a href="/xskjcd-com/product" class="tr text-center">产品中心</a>
            <div class="ul" style="display: none; height: 100px; padding-top: 25px; margin-top: 0px; padding-bottom: 0px; margin-bottom: 0px;">

              <div class="li"><a href="/xskjcd-com/product/wlgl" class="tr">物流运输管理平台</a></div>

              <div class="li"><a href="/xskjcd-com/product/gis" class="tr">星杓GIS</a></div>

              <div class="li"><a href="/xskjcd-com/product/ydps" class="tr">移动配送助手</a></div>

              <div class="li"><a href="/xskjcd-com/product/ints" class="tr">信息化技术服务</a></div>
            </div>
          </li><li class="pull-left  li3"><a href="/xskjcd-com/solutions" class="tr text-center">解决方案</a>
            <div class="ul" style="display: none; height: 100px; padding-top: 25px; margin-top: 0px; padding-bottom: 0px; margin-bottom: 0px;">
              <div class="li"><a href="/xskjcd-com/solutions/zhyy" class="tr">数字孪生 智慧应用</a></div>
              <div class="li"><a href="/xskjcd-com/solutions/bigdatavisiable" class="tr">大数据可视化平台</a></div>
              <div class="li"><a href="/xskjcd-com/solutions/bigdataserve" class="tr">大数据服务平台</a></div>
              <div class="li"><a href="/xskjcd-com/solutions/bigdatasource" class="tr">大数据资源体系</a></div>
            </div>
          </li><li class="pull-left  li4"><a href="/xskjcd-com/news" class="tr text-center">新闻中心</a>
            <div class="ul" style="display: none; height: 100px; padding-top: 25px; margin-top: 0px; padding-bottom: 0px; margin-bottom: 0px;">
              <div class="li"><a href="/xskjcd-com/news/gsxw" class="tr">公司新闻</a>
              <div class="li"><a href="/xskjcd-com/news/hyzx" class="tr">行业资讯</a></div>
              </div>

            </div>
          </li><li class="pull-left  li5"><a href="/xskjcd-com/rczp" class="tr text-center">人才招聘</a>
          </li><li class="pull-left  li5"><a href="/xskjcd-com/contactus" class="tr text-center">联系我们</a>
          </li>
          </ul>
        </div>
        <div class="ydd_btn pull-right hidden-md hidden-lg">
          <span class="span01 tr"></span>
          <span class="span02 tr"></span>
          <span class="span03 tr"></span>
        </div>
      </div>
    </div>
  </div>
</header>
<main class="clearfix">
  <div class="banner" style="width: 100%">
    <div id="myCarousel" data-ride="carousel" data-interval="3000" class="carousel slide">
      <ol class="carousel-indicators" style="z-index: 10000">
        <li data-target="#myCarousel" data-slide-to="0" class="tr active"></li>
        <li data-target="#myCarousel" data-slide-to="1" class="tr"></li>
        <li data-target="#myCarousel" data-slide-to="2" class="tr"></li>
      </ol>
      <div class="carousel-inner" style="z-index: 1000">
        <div class="item active">
          <a href="#" style=" display: block;">
            <div class="b1_animation">
              <div class="row">
                <div class="col-xs-12">
                  <div class="box">
                    <div class="left" style="margin-top: 0px;">
                        <div class="mySlides">
                          <h2 class="wow animate fadeInLeft animated" style="visibility: visible; animation-name: fadeInLeft;    max-width: 100%;
    animation-delay: 0.5s;">时空大数据资源体系 <br><span>数字孪生 动态感知</span></h2>
                          <div class="p_detail">
                          </div>
                        </div>
                    </div>
                    <div class="right" style="margin-top: 0px;">
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </a>
        </div>
        <div class="item">
          <a href="#" style=" display: block;">
            <div class="b1_animation">
              <div class="row">
                <div class="col-xs-12">
                  <div class="box">
                    <div class="left" style="margin-top: 0px;">
                      <div class="mySlides">
                        <h2 class="center wow animate fadeInLeft animated" style="visibility: visible; animation-name: fadeInLeft;    max-width: 100%;
    animation-delay: 0.5s;">时空大数据基础服务平台 <br><span>一图一库 数据中心</span> <br> <span class="line2">二三维一体 数据可视化</span> </h2>
                        <div class="p_detail">
                        </div>
                      </div>
                    </div>
                    <div class="right" style="margin-top: 0px;">
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </a>
        </div>
        <div class="item">
          <a href="#" style=" display: block;">
            <div class="b1_animation">
              <div class="row">
                <div class="col-xs-12">
                  <div class="box">
                    <div class="left" style="margin-top: 0px;">
                      <div class="mySlides" style="display: block;">
                        <h2 class="wow animate fadeInLeft animated" style="visibility: visible; animation-name: fadeInLeft; max-width: 100%;
    animation-delay: 0.5s;">专心&thinsp;用心 <br> <span>时空大数据全周期智慧化应用技术服务商</span></h2>
                        <div class="p_detail">
                        </div>
                      </div>
                    </div>
                    <div class="right" style="margin-top: 0px;">
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </a>
        </div>
      </div>
      <a class="carousel-control left" style="z-index: 1000;background: rgba(0, 0, 0, .7) !important;" href="#myCarousel" data-slide="prev">&#10094;</a>
      <a class="carousel-control right" style="z-index: 1000;background: rgba(0, 0, 0, .7) !important;" href="#myCarousel" data-slide="next">&#10095;</a>
    </div>
    <div id="container" style="width:100%;height:100%;position:absolute; left: 0;top: 0; overflow: hidden;"></div>
  </div>
  <div class="empty"></div>
  <div class="content">
    <div class="section" id="section1" style="background:url(/xskjcd-com/images/view-1.webp) center/cover no-repeat">
      <div class="contents">
        <div class="container-fluid">
          <div class="row">
            <div class="col-xs-12">
              <div class="title-1 text-center">
                <a>
                  <div class="cn">产品中心</div>
                  <div class="en text-uppercase">PRODUCT CENTER</div>
                  <b></b>
                </a>
              </div>
            </div>
          </div>
          <div class="row pictrue-3-box" style="display: block;">
            <div class="col-md-3">
              <div class="pictrue-3-list p3list" style="animation-delay: 0s;">
                <a href="/xskjcd-com/product/wlgl">
                  <div class="box">
                    <div class="imgbox">
										<span class="tr3" style="background: url(/xskjcd-com/images/product1.webp) ;background-size: cover;">
											<img class="hidden-xs hidden-sm img-responsive" src="/xskjcd-com/images/product1.webp" alt="">
										</span>
                    </div>
                    <div class="textbox">
                      <div class="biaoti overflow tr">物流运输管理平台</div>
                      <!--<p>-->
                      <!--</p>-->
                      <div class="time">2021-04-06</div>
                      <div class="more tr">查看详细 →</div>
                    </div>
                  </div>
                </a>
              </div>
            </div>
            <div class="col-md-3">
              <div class="pictrue-3-list p3list" style="animation-delay: 0s;">
                <a href="/xskjcd-com/product/gis">
                  <div class="box">
                    <div class="imgbox">
										<span class="tr3" style="background: url(/xskjcd-com/images/product2.webp) ;background-size: cover;">
											<img class="hidden-xs hidden-sm img-responsive" src="/xskjcd-com/images/product2.webp" alt="">
										</span>
                    </div>
                    <div class="textbox">
                      <div class="biaoti overflow tr">星杓GIS</div>
                      <!--<p>-->
                      <!--</p>-->
                      <div class="time">2021-04-06</div>
                      <div class="more tr">查看详细 →</div>
                    </div>
                  </div>
                </a>
              </div>
            </div>
            <div class="col-md-3">
              <div class="pictrue-3-list p3list" style="animation-delay: 0s;">
                <a href="/xskjcd-com/product/ydps">
                  <div class="box">
                    <div class="imgbox">
										<span class="tr3" style="background: url(/xskjcd-com/images/product3.webp) ;background-size: cover;">
											<img class="hidden-xs hidden-sm img-responsive" src="/xskjcd-com/images/product3.webp" alt="">
										</span>
                    </div>
                    <div class="textbox">
                      <div class="biaoti overflow tr">移动配送助手</div>
                      <!--<p>-->
                      <!--</p>-->
                      <div class="time">2021-04-06</div>
                      <div class="more tr">查看详细 →</div>
                    </div>
                  </div>
                </a>
              </div>
            </div>
            <div class="col-md-3">
              <div class="pictrue-3-list p3list" style="animation-delay: 0s;">
                <a href="/xskjcd-com/product/ints">
                  <div class="box">
                    <div class="imgbox">
										<span class="tr3" style="background: url(/xskjcd-com/images/product4.webp) ;background-size: cover;">
											<img class="hidden-xs hidden-sm img-responsive" src="/xskjcd-com/images/product4.webp" alt="">
										</span>
                    </div>
                    <div class="textbox">
                      <div class="biaoti overflow tr">信息化技术服务</div>
                      <!--<p>-->
                      <!--</p>-->
                      <div class="time">2021-04-06</div>
                      <div class="more tr">查看详细 →</div>
                    </div>
                  </div>
                </a>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="title-2 text-center" style="margin-top: 30px">
        <ul class="list-unstyled no-margin clearfix">
          <li class="pull-left li0"><a href="/xskjcd-com/product" class="tr">更多</a></li>
        </ul>
      </div>
    </div>
    <div class="section" id="section2" style="background:url(/xskjcd-com/images/view-1.webp) center/cover no-repeat">
      <div class="contents">
        <div class="container-fluid">
          <div class="row">
            <div class="col-xs-12">
              <div class="title-1 text-center">
                <a>
                  <div class="cn">解决方案</div>
                  <div class="en text-uppercase">SOLUTIONS</div>
                  <b></b>
                </a>
              </div>
            </div>
          </div>
          <div class="row pictrue-3-box" id="pictrue-3-box" style="display: block;">
            <div class="col-md-3">
              <div class="p3list" style="animation-delay: 0s;">
                <a href="/xskjcd-com/solutions/zhyy">
                  <div class="box">
                    <div class="imgbox">
										<span class="tr3" style="background: url(/xskjcd-com/images/solu1.webp) ;background-size: cover;">
											<img class="hidden-xs hidden-sm img-responsive" src="/xskjcd-com/images/solu1.webp" alt="">
										</span>
                    </div>
                    <div class="textbox">
                      <div class="biaoti overflow tr">数字孪生 智慧应用</div>
                      <!--<p>-->
                      <!--</p>-->
                      <div class="time">2021-04-06</div>
                      <div class="more tr">查看详细 →</div>
                    </div>
                  </div>
                </a>
              </div>
            </div>
            <div class="col-md-3">
              <div class="p3list" style="animation-delay: 0s;">
                <a href="/xskjcd-com/solutions/bigdatavisiable">
                  <div class="box">
                    <div class="imgbox">
										<span class="tr3" style="background: url(/xskjcd-com/images/solu2.webp) ;background-size: cover;">
											<img class="hidden-xs hidden-sm img-responsive" src="/xskjcd-com/images/solu2.webp" alt="">
										</span>
                    </div>
                    <div class="textbox">
                      <div class="biaoti overflow tr">大数据可视化平台</div>
                      <!--<p>-->
                      <!--</p>-->
                      <div class="time">2021-04-06</div>
                      <div class="more tr">查看详细 →</div>
                    </div>
                  </div>
                </a>
              </div>
            </div>
            <div class="col-md-3">
              <div class="p3list" style="animation-delay: 0s;">
                <a href="/xskjcd-com/solutions/bigdataserve">
                  <div class="box">
                    <div class="imgbox">
										<span class="tr3" style="background: url(/xskjcd-com/images/solu3.webp) ;background-size: cover;">
											<img class="hidden-xs hidden-sm img-responsive" src="/xskjcd-com/images/solu3.webp" alt="">
										</span>
                    </div>
                    <div class="textbox">
                      <div class="biaoti overflow tr">大数据服务平台</div>
                      <!--<p>-->
                      <!--</p>-->
                      <div class="time">2021-04-06</div>
                      <div class="more tr">查看详细 →</div>
                    </div>
                  </div>
                </a>
              </div>
            </div>
            <div class="col-md-3">
              <div class="p3list" style="animation-delay: 0s;">
                <a href="/xskjcd-com/solutions/bigdatasource">
                  <div class="box">
                    <div class="imgbox">
										<span class="tr3" style="background: url(/xskjcd-com/images/solu4.webp) ;background-size: cover;">
											<img class="hidden-xs hidden-sm img-responsive" src="/xskjcd-com/images/solu4.webp" alt="">
										</span>
                    </div>
                    <div class="textbox">
                      <div class="biaoti overflow tr">大数据资源体系</div>
                      <!--<p>-->
                      <!--</p>-->
                      <div class="time">2021-04-06</div>
                      <div class="more tr">查看详细 →</div>
                    </div>
                  </div>
                </a>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="title-2 text-center" style="margin-top: 30px">
        <ul class="list-unstyled no-margin clearfix">
          <li class="pull-left li0"><a href="/xskjcd-com/solutions" class="tr">更多</a></li>
        </ul>
      </div>
    </div>
    <div class="section" id="section3">
      <div class="container-fluid">
        <div class="row">
          <div class="col-xs-12">
            <div class="contents">
              <div class="pictrue-2">
                <div class="dian hidden-xs hidden-sm">
                  <b class="d1"></b>
                  <b class="d2"></b>
                  <b class="d3"></b>
                  <b class="d4"></b>
                </div>
                <div class="bg hidden-xs hidden-sm">
                  <b class="b1 wow animate p2b1 animated" style="visibility: visible; animation-name: p2b1;"><span class="wow animate p2b3before animated" style="visibility: visible; animation-name: p2b1before;"></span></b>
                  <b class="b2 wow animate p2b2 animated" style="visibility: visible; animation-name: p2b2;"><span class="wow animate p2b3before animated" style="visibility: visible; animation-name: p2b2before;"></span></b>
                  <b class="b3 wow animate p2b3 animated" style="visibility: visible; animation-name: p2b3;"><span class="wow animate p2b3before animated" style="visibility: visible; animation-name: p2b3before;"></span></b>
                </div>
                <div class="huan1 hidden-xs hidden-sm wow animate rotate animated" style="visibility: visible; animation-name: rotate;"></div>
                <div class="huan2 hidden-xs hidden-sm"></div>
                <div class="huan3 hidden-xs hidden-sm wow animate rotate2 animated" style="visibility: visible; animation-name: rotate2;"></div>
                <div class="textbox text-center">
                  <div class="biaoti">
                    <h3>我们的优势</h3>
                    <div class="en text-uppercase">FINANCIAL SERVICE</div>
                    <b></b>
                  </div>
                  <p>为商户提供金融服务，目前我们有三种方式，<br>
                    流水贷、车贷、装修贷。整个流程便捷，速度，<br>
                    最快一天放款，利率在7厘8到1分5.</p>
                </div>
                <ul class="list-unstyled clearfix">

                  <li class="li0"><a href="#">高性能</a></li>

                  <li class="li1"><a href="#">强渲染</a></li>

                  <li class="li2"><a href="#">全周期</a></li>

                </ul>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div class="section" id="section4" style="background:url(/xskjcd-com/images/view-3.webp) center/cover no-repeat">
      <div class="contents">
        <div class="container-fluid">
          <div class="row">
            <div class="col-xs-12">
              <div class="title-1 text-center">
                <a>
                  <div class="cn">新闻中心</div>
                  <div class="en text-uppercase">NEWS CENTER</div>
                  <b></b>
                </a>
              </div>
              <div class="title-2 text-center">
                <ul class="list-unstyled no-margin clearfix">
                  <li class="pull-left li0"><a class="tr">公司新闻</a></li>
                  <li class="pull-left li1"><a class="tr">行业资讯</a></li>
                </ul>
              </div>
            </div>
          </div>
          <div class="row pictrue-3-box" id="section4-list" style="display: block;">
            <div class="col-md-4">
              <div class="p3list"  style="animation-delay: 0s;">
                <a href="/xskjcd-com/news/gsxw/detail/article1.html">
                  <div class="box">
                    <div class="imgbox">
										<span class="tr3" style="background: url(/xskjcd-com/images/news1.webp) ;background-size: cover;">
											<img class="hidden-xs hidden-sm img-responsive" src="/xskjcd-com/images/news1.webp" alt="">
										</span>
                    </div>
                    <div class="textbox">
                      <div class="biaoti overflow tr">2020年公司成立</div>
                      <p>
                        没有公司可以申请商标吗？据《商标法》规定，自然人、法人或者其他组织机构都能申请商标，只要符合申请条件就能申请商....
                      </p>
                      <div class="time">2021-04-06</div>
                      <div class="more tr">查看详细 →</div>
                    </div>
                  </div>
                </a>
              </div>
            </div>
          </div>
          <div class="row pictrue-3-box" style="display: block;">
            <div class="col-md-4">
              <div class="pictrue-3-list p3list" style="animation-delay: 0s;">
                <a href="/xskjcd-com/news/hyzx/detail/article1.html">
                  <div class="box">
                    <div class="imgbox">
										<span class="tr3" style="background: url(/xskjcd-com/images/firmnews.webp) ;background-size: cover;">
											<img class="hidden-xs hidden-sm img-responsive" src="/xskjcd-com/images/firmnews.webp" alt="">
										</span>
                    </div>
                    <div class="textbox">
                      <div class="biaoti overflow tr">《城市大脑全球标准研究报告》在京发布</div>
                      <!--<p>-->
                      <!--</p>-->
                      <div class="time">2021-04-06</div>
                      <div class="more tr">查看详细 →</div>
                    </div>
                  </div>
                </a>
              </div>
            </div>

          </div>
        </div>
      </div>
    </div>
    <div class="section" id="section5" style="background:url(/xskjcd-com/images/view-4.webp) center/cover no-repeat">
      <div class="contents">
        <div class="container-fluid">
          <div class="row">
            <div class="col-xs-12">
              <div class="title-3 text-center">
                <a href="/xskjcd-com/aboutus">
                  <div class="bg"></div>
                  <h4>关于我们</h4>
                  <div class="en text-uppercase">ABOUT US</div>
                </a>
              </div>
              <div class="text-1 text-center">
                <p class="intro">
                  星杓（成都）信息科技有限公司成立于成都天府新区，位于四川省科技企业孵化器、成都市科技企业孵化器-----府河电气园区。星杓科技致力于大数据、地理信息和人工智能算法的研究，长期服务于GIS、智慧物流、移动互联领域，是专门从事计算机软件产品研发、应用和技术服务的高新技术企业。星杓科技的企业理念是以想象力引领科技，用心落地产品普惠生活，秉承这一理念，星杓科技为业主提供了众多解决方案。星杓重视人才发展，倡导员工发挥天马行空的想象，落地社会生活，研究普惠大众的卓越产品，以此不断提高企业的核心竞争力。
                </p>
                <p class="intro">
                  星杓科技的开创者团队，长期热衷于算法实验研究和新技术探索，是基于分布式架构的空间大数据管理和应用技术的先进探索者；从事软件研发、软件技术设计、管理工作数十年，作为技术研究者和高效的成果转化者，主导了数个千万级软件项目的开发和实施，沉淀了深厚的技术底蕴和丰富的管理实施经验；在数年间与GIS、智慧物流、智慧城市、移动互联领域建立了战略合作关系，成为信息化领域内优先选择的供应商。
                </p>

              </div>
            </div>
          </div>
        </div>
        <div class="text-2 text-center">
          <ul class="list-unstyled clearfix" id="selfList">
            <div class="bg hidden-xs hidden-sm" id="line">
              <div class="left">
                <b class="b1 wow animate  animated" style="visibility: visible;"></b>
                <b class="b2 wow animate  animated" style="visibility: visible;"></b>
              </div>
              <div class="right">
                <b class="b1 wow animate  animated" style="visibility: visible;"></b>
                <b class="b2 wow animate  animated" style="visibility: visible;"></b>
              </div>
            </div>

            <li class="pull-left wow animate  li0 animated" style="visibility: visible;">
              <a href="/xskjcd-com/aboutus/gsjs" class="wow animate fadeIn animated" style="visibility: visible; animation-name: fadeIn;">
                <span>企业介绍</span>
              </a>
            </li>

            <li class="pull-left wow animate  li1 animated" style="visibility: visible;">
              <a href="/xskjcd-com/aboutus/hzhb" class="wow animate fadeIn animated" style="visibility: visible; animation-name: fadeIn;">
                <span>合作伙伴</span>
              </a>
            </li>

            <li class="pull-left wow animate  li2 animated" style="visibility: visible; ">
              <a href="/xskjcd-com/rczp" class="wow animate fadeIn animated" style="visibility: visible; animation-name: fadeIn;">
                <span>人才招聘</span>
              </a>
            </li>

            <li class="pull-left wow animate  li3 animated" style="visibility: visible;">
              <a href="/xskjcd-com/contactus" class="wow animate fadeIn animated" style="visibility: visible; animation-name: fadeIn;">
                <span>联系我们</span>
              </a>
            </li>

          </ul>
        </div>
      </div>
    </div>
  </div>
</main>
<footer>
  <div class="web-footer">
    <div class="container ">
      <div class="row" id="map-footer">
        <div class="col-md-2 col-sm-6  col-xs-12 hidden-xs">
          <dl>
            <dt>关于我们</dt>
            <dd>
              <a href="/xskjcd-com/aboutus/gsjs">公司介绍</a>
            </dd>
            <dd>
              <a href="/xskjcd-com/aboutus/qywh">企业文化</a>
            </dd>
            <dd>
              <a href="/xskjcd-com/aboutus/hzhb">合作伙伴</a>
            </dd>
            <!-- <dd>
              <a href="culture.html">企业文化</a>
            </dd>
            <dd>
              <a href="honor.html">企业荣誉</a>
            </dd> -->
          </dl>
        </div>
        <div class="col-md-2 col-sm-6  col-xs-12 hidden-xs">
          <dl>
            <dt>产品中心</dt>
            <dd>
              <a href="/xskjcd-com/product/wlgl">物流运输管理平台</a>
            </dd>
            <dd>
              <a href="/xskjcd-com/product/gis">星杓GIS</a>
            </dd>
            <dd>
              <a href="/xskjcd-com/product/ydps">移动配送助手</a>
            </dd>
            <dd>
              <a href="/xskjcd-com/product/ints">信息化技术服务</a>
            </dd>
            <!-- <dd>
              <a href="serlist-wx.html">咨询服务</a>
            </dd>
            <dd>
              <a href="serlist-pt.html">室内装潢</a>
            </dd>
            <dd>
              <a href="serlist-gj.html">电子销售</a>
            </dd> -->
          </dl>
        </div>

        <div class="col-md-2 col-sm-6  col-xs-12 hidden-xs">
          <dl>
            <dt>解决方案</dt>
            <dd>
              <a href="/xskjcd-com/solutions/zhyy">数字孪生 智慧应用</a>
            </dd>
            <dd>
              <a href="/xskjcd-com/solutions/bigdatavisiable">大数据可视化平台</a>
            </dd>
            <dd>
              <a href="/xskjcd-com/solutions/bigdataserve">大数据服务平台</a>
            </dd>
            <dd>
              <a href="/xskjcd-com/solutions/bigdatasource">大数据资源体系</a>
            </dd>
          </dl>
        </div>

        <div class="col-md-2 col-sm-6  col-xs-12 hidden-xs">
          <dl>
            <dt>新闻中心</dt>
            <dd>
              <a href="/xskjcd-com/news/gsxw">企业新闻</a>
            </dd>
            <dd>
              <a href="/xskjcd-com/news/hyzx">行业资讯</a>
            </dd>
          </dl>
        </div>
        <div class="col-md-2 col-sm-6  col-xs-12 hidden-xs">
          <dl>
            <dt>人才招聘</dt>
            <dd>
              <a href="/xskjcd-com/rczp">全部职业</a>
            </dd>
          </dl>
        </div>
        <!-- <div class="col-md-4 col-sm-12  col-xs-12" id="wx"> -->
        <div class="col-md-2 col-sm-6  col-xs-12" id="wx">
          <p>扫描二维码，关注我们</p>
          <img class="" src="/xskjcd-com/images/brand.webp" alt="wx" style="max-width:100px;">
        </div>
      </div>

    </div>
    <div id="patent-footer">
      <p> © 2021 星杓（成都）信息科技有限公司</p>
    </div>
  </div>
</footer>
<script src="/xskjcd-com/js/bootstrap2.js"></script>
<script src="/xskjcd-com/js/ie10-viewport-bug-workaround.js"></script>
<script src="/xskjcd-com/js/owl.carousel.js"></script>
<script src="/xskjcd-com/js/indexowl.js"></script>
<script src="/xskjcd-com/js/jquery.touchswipe.js"></script>
<script src="/xskjcd-com/js/suen.js"></script>
<script src="/xskjcd-com/js/custom.js"></script>
<script>
  $("#myCarousel").swipe({
    swipeLeft: function() { $(this).carousel('next'); },
    swipeRight: function() { $(this).carousel('prev'); },
  });
</script>
<script src="/xskjcd-com/js/scrollaniamte.js"></script>
<script src="/xskjcd-com/js/index.js"></script>
<script src="/xskjcd-com/js/three.js"></script>
<script src="/xskjcd-com/js/jquery.particleground.min.js"></script>
<script src="/xskjcd-com/js/main.min.js"></script>
<script>
  $('#particles').particleground({
    dotColor: '#65b193',
    lineColor: '#65b193',
    lineWidth:'1'
  });
</script>
<!--3d地球开始-->
<!-- vertext shader a.k.a. pixel shader -->
<script id="vertexShader" type="x-shader/x-vertex">
    uniform vec3 viewVector;
	uniform float c;
	uniform float p;
	varying vec2 vUv;
	varying float intensity;

	void main() {
	 	vec3 v_normal = normalize(normalMatrix * normal);
		vec3 v_view = normalize(normalMatrix * viewVector);
		intensity = pow(c - dot(v_normal, v_view), p);
	 	vUv = uv;
	  	gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
	}
</script>
<script id="fragmentShader" type="x-shader/x-vertex">
	uniform sampler2D diffuse;
	uniform vec3 glowColor;
	varying float intensity;
	varying vec2 vUv;

	void main() {
		vec3 glow = glowColor * intensity;
	  	gl_FragColor = vec4(glow, 1.0)+ texture2D(diffuse, vUv);
	}
</script>
<!-- vertext shader a.k.a. pixel shader -->
<script id="vertexShader2" type="x-shader/x-vertex">
	varying vec2 vUv;
    attribute float percent;
    uniform float u_time;
    uniform float number;
    uniform float speed;
    uniform float length;
    varying float opacity;
    uniform float size;
    void main()
    {
        vUv = uv;
        vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );
        float l = clamp(1.0-length,0.0,1.0);
        gl_PointSize = clamp(fract(percent*number + l - u_time*number*speed)-l ,0.0,1.) * size * (1./length);
        opacity = gl_PointSize/size;
        gl_Position = projectionMatrix * mvPosition;
    }
</script>
<!-- fragment shader a.k.a. pixel shader -->
<script id="fragmentShader2" type="x-shader/x-vertex">
	#ifdef GL_ES
    precision mediump float;
    #endif
    varying float opacity;
    uniform vec3 color;
    void main(){
        if(opacity <=0.2){
            discard;
        }
        gl_FragColor = vec4(color,1.0);
    }
</script>
<script type="module" async>
  import * as THREE from './build/three.module.js';
  import { OrbitControls } from './examples/jsm/controls/OrbitControls.js';
  import Stats from './examples/jsm/libs/stats.module.js';
  import { Line2 } from './examples/jsm/lines/Line2.js';
  import { LineMaterial } from './examples/jsm/lines/LineMaterial.js';
  import { LineGeometry } from './examples/jsm/lines/LineGeometry.js';
  import { TWEEN } from './examples/jsm/libs/tween.module.min.js';
  import { GUI } from './examples/jsm/libs/dat.gui.module.js';
  let renderer, camera, scene, gui, light, stats, controls, geometry, material, line, matLine, mesh, stars, uniforms;
  const Dom = document.querySelector( '#container' );
  const radius = 5;
  const width = Dom.clientWidth, height = Dom.clientHeight;
  const group = new THREE.Group();
  const groupDots = new THREE.Group();
  const groupLines = new THREE.Group();
  const groupHalo = new THREE.Group(); //卫星环+小卫星
  const aGroup = new THREE.Group();
  var initFlag = false;
  var WaveMeshArr = [];//所有波动光圈集合
  var planGeometry = new THREE.PlaneBufferGeometry( 1, 1 ); //默认在XOY平面上
  var globeTextureLoader = new THREE.TextureLoader();
  var map = new THREE.Object3D();
  var camaPositions = [
    { x: 5, y: - 20, z: 200 }, //远处
    { x: 0.2, y: - 2, z: 17 }//近处
  ];
  var API = {
    c: 1.7,
    p: 2.3,
    color: 0x10105
  };
  var uniforms2 = {
    u_time: { value: 0.0 }
  };
  //模拟的空间坐标 已经通过经纬度转换了
  const posArr = [
    { 'x': - 1.7049594735603837, 'y': 3.208354470512221, 'z': - 3.4350509144786985 },
    { 'x': - 2.1965610576118175, 'y': 2.1955955192304506, 'z': - 3.9184792759587768 },
    { 'x': - 2.2290975556080355, 'y': 2.6054406912933263, 'z': - 3.639066211507457 },
    { 'x': 0.5738958419746141, 'y': - 0.44114968930852216, 'z': 4.9473255920938985 },
    { 'x': - 0.9326350073394328, 'y': 2.8399222968004114, 'z': - 4.00812091773949 },
    { 'x': 3.469198597393574, 'y': 1.2295167303380952, 'z': - 3.3842206934036057 },
    { 'x': - 2.4019084876611916, 'y': - 2.190220428765315, 'z': 3.7991801866087123 },
    { 'x': - 2.49363689878109, 'y': - 4.099696049856375, 'z': 1.4050862307450966 },
    { 'x': - 2.3729307780326305, 'y': 2.840227787960863, 'z': 3.3618901878497454 },
    { 'x': - 2.0636200279017873, 'y': 0.7444294629976027, 'z': - 4.493027615657812 },
    { 'x': 0.47725894517680106, 'y': 2.4327372143508037, 'z': - 4.34212085796347 },
    { 'x': - 2.4777001955161246, 'y': - 1.2092952460724242, 'z': 4.171163716394502 },
    { 'x': - 0.03915748918627658, 'y': - 0.008362945319338826, 'z': 4.999839672648135 },
    { 'x': 1.5223738738260317, 'y': - 1.032865814102439, 'z': - 4.649254348640267 },
    { 'x': - 0.26640112020426315, 'y': - 4.314854187280748, 'z': 2.5121830716848077 },
    { 'x': - 4.031470206741836, 'y': - 2.606648761952297, 'z': - 1.3973654511134501 },
    { 'x': 0.8544382232162094, 'y': 1.5274953155132989, 'z': 4.683662390031124 },
    { 'x': 3.0409624989238546, 'y': 1.76433738825175, 'z': - 3.555230043268055 },
    { 'x': - 4.721251023266457, 'y': 1.2354922989397954, 'z': - 1.0878177947459262 },
    { 'x': 2.1518961827021106, 'y': 3.891904027152385, 'z': - 2.285262755638206 },
    { 'x': 0.8501960736517479, 'y': - 2.851729208821255, 'z': - 4.018060123480341 },
    { 'x': 2.5631840141785176, 'y': 4.263234820997851, 'z': - 0.5048926326370041 },
    { 'x': - 0.4580143454812531, 'y': - 2.6523265200067385, 'z': 4.213714144386437 }
  ];

  function getPos( radius, a, b ) {

    var x = radius * Math.sin( a ) * Math.cos( b );
    var y = radius * Math.sin( a ) * Math.sin( b );
    var z = radius * Math.cos( a );
    return { x, y, z };
  }

  //threejs自带的经纬度转换
  function lglt2xyz( lng, lat ) {
    const theta = ( 90 + lng ) * ( Math.PI / 180 );
    const phi = ( 90 - lat ) * ( Math.PI / 180 );
    return ( new THREE.Vector3() ).setFromSpherical( new THREE.Spherical( radius, phi, theta ) );
  }

  /**
   * 经纬度坐标转球面坐标
   * @param {地球半径} R
   * @param {经度(角度值)} longitude
   * @param {维度(角度值)} latitude
   */
  function lon2xyz( R, longitude, latitude ) {
    var lon = longitude * Math.PI / 180;//转弧度值
    var lat = latitude * Math.PI / 180;//转弧度值
    lon = - lon;// three.js坐标系z坐标轴对应经度-90度，而不是90度
    // 经纬度坐标转球面坐标计算公式
    var x = R * Math.cos( lat ) * Math.cos( lon );
    var y = R * Math.sin( lat );
    var z = R * Math.cos( lat ) * Math.sin( lon );
    // 返回球面坐标
    return {
      x: x,
      y: y,
      z: z,
    };
  }

  /**
   * @desc 随机设置点
   * @param <Group> group ...
   * @param <number> radius ...
   */
  function setRandomDot( group ) {
    var texture = new THREE.TextureLoader().load( './examples/imgs/diqiu2/标注.webp' );
    var texture2 = new THREE.TextureLoader().load( './examples/imgs/diqiu2/标注光圈.webp' );
    posArr.map( pos => {
      var dotMesh = createPointMesh( pos, texture );
      var waveMesh = createWaveMesh( pos, texture2 );
      group.add( dotMesh );
      group.add( waveMesh );
      WaveMeshArr.push( waveMesh );
    } );
  }

  /**
   * 标注
   */
  function createPointMesh( pos, texture ) {
    var material = new THREE.MeshBasicMaterial( {
      map: texture,
      transparent: true, //使用背景透明的png贴图，注意开启透明计算
      // side: THREE.DoubleSide, //双面可见
      depthWrite: false, //禁止写入深度缓冲区数据
    } );
    var mesh = new THREE.Mesh( planGeometry, material );
    var size = radius * 0.04;//矩形平面Mesh的尺寸
    mesh.scale.set( size, size, size );//设置mesh大小
    //设置mesh位置
    mesh.position.set( pos.x, pos.y, pos.z );
    // mesh在球面上的法线方向(球心和球面坐标构成的方向向量)
    var coordVec3 = new THREE.Vector3( pos.x, pos.y, pos.z ).normalize();
    // mesh默认在XOY平面上，法线方向沿着z轴new THREE.Vector3(0, 0, 1)
    var meshNormal = new THREE.Vector3( 0, 0, 1 );
    // 四元数属性.quaternion表示mesh的角度状态
    //.setFromUnitVectors();计算两个向量之间构成的四元数值
    mesh.quaternion.setFromUnitVectors( meshNormal, coordVec3 );
    return mesh;
  }

  /**
   * 标注的光圈
   */
  function createWaveMesh( pos, texture ) {
    var material = new THREE.MeshBasicMaterial( {
      color: 0x22ffcc,
      map: texture,
      transparent: true, //使用背景透明的png贴图，注意开启透明计算
      opacity: 1.0,
      // side: THREE.DoubleSide, //双面可见
      depthWrite: false, //禁止写入深度缓冲区数据
    } );
    var mesh = new THREE.Mesh( planGeometry, material );
    // var coord = lon2xyz(R*1.001, lon, lat)
    var size = radius * 0.055;//矩形平面Mesh的尺寸
    mesh.size = size;//自顶一个属性，表示mesh静态大小
    mesh.scale.set( size, size, size );//设置mesh大小
    mesh._s = Math.random() * 1.0 + 1.0;//自定义属性._s表示mesh在原始大小基础上放大倍数  光圈在原来mesh.size基础上1~2倍之间变化
    mesh.position.set( pos.x, pos.y, pos.z );
    // mesh姿态设置
    // mesh在球面上的法线方向(球心和球面坐标构成的方向向量)
    var coordVec3 = new THREE.Vector3( pos.x, pos.y, pos.z ).normalize();
    // mesh默认在XOY平面上，法线方向沿着z轴new THREE.Vector3(0, 0, 1)
    var meshNormal = new THREE.Vector3( 0, 0, 1 );
    // 四元数属性.quaternion表示mesh的角度状态
    //.setFromUnitVectors();计算两个向量之间构成的四元数值
    mesh.quaternion.setFromUnitVectors( meshNormal, coordVec3 );
    return mesh;
  }

  // 添加飞线
  function addLines( v0, v3 ) {
    // 夹角
    var angle = ( v0.angleTo( v3 ) * 1.8 ) / Math.PI / 0.1; // 0 ~ Math.PI
    var aLen = angle * 0.4, hLen = angle * angle * 12;
    var p0 = new THREE.Vector3( 0, 0, 0 );
    // 法线向量
    var rayLine = new THREE.Ray( p0, getVCenter( v0.clone(), v3.clone() ) );
    // 顶点坐标
    var vtop = rayLine.at( hLen / rayLine.at( 1 ).distanceTo( p0 ) );
    // 控制点坐标
    var v1 = getLenVcetor( v0.clone(), vtop, aLen );
    var v2 = getLenVcetor( v3.clone(), vtop, aLen );
    // 绘制三维三次贝赛尔曲线
    var curve = new THREE.CubicBezierCurve3( v0, v1, v2, v3 );
    var geometry = new LineGeometry();
    var points = curve.getSpacedPoints( 50 );
    var positions = [];
    var colors = [];
    var color = new THREE.Color();
    /**
     * HSL中使用渐变
     * h — hue value between 0.0 and 1.0
     * s — 饱和度 between 0.0 and 1.0
     * l — 亮度 between 0.0 and 1.0
     */
    for (var j = 0; j < points.length; j ++) {
      color.setHSL(0.675, 0.324, 0.55); //黑色
      // color.setHSL( .81666+j,0.88, 0.715+j*0.0025); //粉色
      colors.push( color.r, color.g, color.b );
      positions.push( points[j].x, points[j].y, points[j].z );
    }
    geometry.setPositions( positions );
    geometry.setColors( colors );
    var matLine = new LineMaterial( {
      linewidth: 0.0006,
      vertexColors: true,
      dashed: false
    } );

    return {
      curve: curve,
      lineMesh: new Line2( geometry, matLine )
    };
  }

  // 计算v1,v2 的中点
  function getVCenter( v1, v2 ) {
    const v = v1.add( v2 );
    return v.divideScalar( 2 );
  }

  // 计算V1，V2向量固定长度的点
  function getLenVcetor( v1, v2, len ) {
    const v1v2Len = v1.distanceTo( v2 );
    return v1.lerp( v2, len / v1v2Len );
  }

  /**
   * @description 初始化渲染场景
   */
  function initRenderer() {
    renderer = new THREE.WebGLRenderer( { antialias: true, alpha: true } );
    renderer.setPixelRatio( window.devicePixelRatio );
    renderer.setSize( width, height );
    const containerDom = document.querySelector( '#container' );
    containerDom.appendChild( renderer.domElement );
  }

  /**
   * @description 初始化相机
   */
  function initCamera() {
    camera = new THREE.PerspectiveCamera( 45, width / height, 1, 10000 );
    camera.position.set( 5, - 20, 200 );
    camera.lookAt( 0, 3, 0 );
    window.camera = camera;
  }

  /**
   * @description 初始化场景
   */
  function initScene() {
    scene = new THREE.Scene();
    scene.background = new THREE.Color( 0x020924 );
    scene.fog = new THREE.Fog( 0x020924, 200, 1000 );
    window.scene = scene;
  }

  //辅助工具
  function initAuxiliaryTool() {
    const helper = new THREE.AxesHelper( 500 );
    scene.add( helper );
    // 网格
    var grid = new THREE.GridHelper( 2, 10, 0x000000, 0x000000 );
    grid.material.opacity = 0.2;
    grid.material.transparent = true;
    scene.add( grid );
  }

  //性能插件
  function initStats() {
    stats = new Stats();
    document.body.appendChild( stats.dom );
  }

  /**
   * 初始化用户交互
   **/
  function initControls() {
    controls = new OrbitControls( camera, renderer.domElement );
    // 如果使用animate方法时，将此函数删除
    // controls.addEventListener( 'change', render );
    // 使动画循环使用时阻尼或自转 意思是否有惯性
    controls.enableDamping = true;
    //动态阻尼系数 就是鼠标拖拽旋转灵敏度
    //controls.dampingFactor = 0.25;
    //是否可以缩放
    controls.enableZoom = true;
    //是否自动旋转
    controls.autoRotate = false;
    controls.autoRotateSpeed = 2;
    //设置相机距离原点的最远距离
    // controls.minDistance = 2;
    //设置相机距离原点的最远距离
    // controls.maxDistance = 1000;
    //是否开启右键拖拽
    controls.enablePan = true;
  }

  function initTween() {
    var tweena = cameraCon( 3000 );
    tweena.start();
  }

  function initGui() {
    gui = new GUI();
    gui.add( API, 'c', - 10, 10 ).name( 'c' ).onChange( updateUvTransform );
    gui.add( API, 'p', - 10, 10 ).name( 'p' ).onChange( updateUvTransform );
    gui.addColor( API, 'color' ).name( '颜色' ).onChange( updateUvTransform );
  }

  function updateUvTransform() {
    uniforms.c.value = API.c;
    uniforms.p.value = API.p;
    uniforms.glowColor.value = new THREE.Color( API.color );
    renders();
  }

  function cameraCon( time ) {
    var tween1 = new TWEEN.Tween( camaPositions[0] ).to( camaPositions[1], time ).easing( TWEEN.Easing.Quadratic.InOut );
    var update = () => {
      camera.position.set( camaPositions[0].x, camaPositions[0].y, camaPositions[0].z );
    };
    tween1.onUpdate( update );
    tween1.onComplete( function () {
      initFlag = true;
      //初始化点和曲线
      initDotAndFly();
      //光柱效果和底部矩形
      initLightPillar();
    } );
    return tween1;
  }

  // 经纬度转地球坐标
  function createPosition( lnglat ) {
    const spherical = new THREE.Spherical();
    spherical.radius = radius;
    const lng = lnglat[0];
    const lat = lnglat[1];
    const theta = ( lng + 90 ) * ( Math.PI / 180 );
    const phi = ( 90 - lat ) * ( Math.PI / 180 );
    spherical.phi = phi; //方位角
    spherical.theta = theta; //倾斜角
    const position = new THREE.Vector3();
    position.setFromSpherical( spherical );
    return position;
  }

  /**
   * @description 初始化光
   */
  function initLight() {
    const ambientLight = new THREE.AmbientLight( 0xcccccc, 1.1 );
    scene.add( ambientLight );
    var directionalLight = new THREE.DirectionalLight( 0xffffff, 0.2 );
    directionalLight.position.set( 1, 0.1, 0 ).normalize();
    var directionalLight2 = new THREE.DirectionalLight( 0xff2ffff, 0.2 );
    directionalLight2.position.set( 1, 0.1, 0.1 ).normalize();
    scene.add( directionalLight );
    scene.add( directionalLight2 );
    var hemiLight = new THREE.HemisphereLight( 0xffffff, 0x444444, 0.2 );
    hemiLight.position.set( 0, 1, 0 );
    scene.add( hemiLight );
    var directionalLight = new THREE.DirectionalLight( 0xffffff );
    directionalLight.position.set( 1, 500, - 20 );
    directionalLight.castShadow = true;
    directionalLight.shadow.camera.top = 18;
    directionalLight.shadow.camera.bottom = - 10;
    directionalLight.shadow.camera.left = - 52;
    directionalLight.shadow.camera.right = 12;
    scene.add(directionalLight);
  }

  /**
   * 初始化背景星空
   */
  function initPoints() {
    var texture = new THREE.TextureLoader().load( './examples/imgs/diqiu2/gradient.webp' );
    const positions = [];
    const colors = [];
    const geometry = new THREE.BufferGeometry();
    for (var i = 0; i < 10000; i ++) {
      var vertex = new THREE.Vector3();
      vertex.x = Math.random() * 2 - 1;
      vertex.y = Math.random() * 2 - 1;
      vertex.z = Math.random() * 2 - 1;
      positions.push( vertex.x, vertex.y, vertex.z );
      var color = new THREE.Color();
      color.setHSL( Math.random() * 0.2 + 0.5, 0.55, Math.random() * 0.25 + 0.55 );
      colors.push( color.r, color.g, color.b );
    }
    geometry.setAttribute( 'position', new THREE.Float32BufferAttribute( positions, 3 ) );
    geometry.setAttribute( 'color', new THREE.Float32BufferAttribute( colors, 3 ) );
    var starsMaterial = new THREE.ParticleBasicMaterial( {
      map: texture,
      size: 1,
      transparent: true,
      opacity: 1,
      vertexColors: true, //true：且该几何体的colors属性有值，则该粒子会舍弃第一个属性--color，而应用该几何体的colors属性的颜色
      blending: THREE.AdditiveBlending,
      sizeAttenuation: true
    } );
    stars = new THREE.ParticleSystem( geometry, starsMaterial );
    stars.scale.set( 300, 300, 300 );
    scene.add( stars );
  }

  /**
   * 包含2个，一个地球，一个辉光球体
   */
  function initEarth() {
    // 地球
    globeTextureLoader.load( './examples/imgs/diqiu2/earth_3.webp', function ( texture ) {
      var globeGgeometry = new THREE.SphereGeometry( radius, 100, 100 );
      var globeMaterial = new THREE.MeshStandardMaterial( { map: texture,side:THREE.DoubleSide } );
      var globeMesh = new THREE.Mesh( globeGgeometry, globeMaterial );
      group.rotation.set( 0.5, 2.9, 0.1 );
      group.add( globeMesh );
      scene.add( group );
    } );
  }

  /**
   * 包含2个，一个地球，一个辉光球体
   */
  function initEarth2() {
    uniforms = {
      u_time: { value: 0.0 },
      c: { type: 'f', value: 2.3 }, //2.1 								// 系数
      p: { type: 'f', value: 1.7 }, //1.7 								// 强度
      diffuse: { // 用于实现扫描效果的贴图
        type: 't',
        value: new THREE.TextureLoader().load( './examples/imgs/diqiu2/earth_3.webp' )
      },
      glowColor: { type: 'c', value: new THREE.Color( 0x10105 ) }, /// 光罩的颜色
      viewVector: { // 相机位置
        type: 'v3', value: new THREE.Vector3( 0, 0, 1 )
      },
      blending: THREE.AdditiveBlending
    };
    uniforms['diffuse'].value.wrapS = uniforms['diffuse'].value.wrapT = THREE.RepeatWrapping;
    var material = new THREE.ShaderMaterial( {
      uniforms: uniforms,
      vertexShader: document.getElementById( 'vertexShader' ).textContent,
      fragmentShader: document.getElementById( 'fragmentShader' ).textContent,
      side: THREE.DoubleSide,
      // depthWrite: false,
      // transparent: true,
    } );
    var globeGgeometry = new THREE.SphereGeometry( radius, 100, 100 );
    var globeMesh = new THREE.Mesh( globeGgeometry, material );
    group.rotation.set( 0.5, 2.9, 0.1 );
    group.add( globeMesh );
    scene.add( group );
  }

  /**
   * 创建地球光晕特效
   */
  function initEarthSprite() {
    var texture = globeTextureLoader.load( './examples/imgs/diqiu2/earth_aperture.webp' );
    var spriteMaterial = new THREE.SpriteMaterial( {
      map: texture,
      transparent: true,
      opacity: 0.5,
      depthWrite: false
    } );
    var sprite = new THREE.Sprite( spriteMaterial );
    sprite.scale.set( radius * 3, radius * 3, 1 );
    group.add( sprite );
  }

  /**
   * 添加卫星特效
   */
  function initSatellite() {
    // 光环
    globeTextureLoader.load( './examples/imgs/diqiu2/halo.webp', function ( texture ) {
      var geometry = new THREE.PlaneGeometry( 14, 14 );//矩形平面
      var material = new THREE.MeshLambertMaterial( {
        map: texture, //给纹理属性map赋值
        transparent: true,
        side: THREE.DoubleSide, //两面可见
        depthWrite: false
      } );//材质对象
      var mesh = new THREE.Mesh( geometry, material );//网格模型对象
      groupHalo.add( mesh );
    } );
    // 小地球
    globeTextureLoader.load( './examples/imgs/diqiu2/smallEarth.webp', function ( texture ) {
      var p1 = new THREE.Vector3( - 7, 0, 0 );//顶点1坐标
      var p2 = new THREE.Vector3( 7, 0, 0 );//顶点2坐标
      const points = [ p1, p2 ];
      const geometry = new THREE.BufferGeometry().setFromPoints( points );
      var material = new THREE.PointsMaterial( {
        map: texture, //给纹理属性map赋值
        transparent: true,
        side: THREE.DoubleSide, //两面可见
        size: 1, //点对象像素尺寸
        depthWrite: false
      } );//材质对象
      var earthPoints = new THREE.Points( geometry, material );//点模型对象
      groupHalo.add( earthPoints );//点对象添加到场景中
    } );
    groupHalo.rotation.set( 1.9, 0.5, 1 );
    scene.add( groupHalo );
  }

  /**
   * 光柱特效
   */
  function createLightPillar( pos ) {
    var height = radius * 0.1;//光柱高度，和地球半径相关，这样调节地球半径，光柱尺寸跟着变化
    var geometry = new THREE.PlaneBufferGeometry( radius * 0.05, height ); //默认在XOY平面上
    geometry.rotateX( Math.PI / 2 );//光柱高度方向旋转到z轴上
    geometry.translate( 0, 0, height / 2 );//平移使光柱底部与XOY平面重合
    var textureLoader = new THREE.TextureLoader(); // TextureLoader创建一个纹理加载器对象
    var material = new THREE.MeshBasicMaterial( {
      map: textureLoader.load( './examples/imgs/diqiu2/光柱.webp' ),
      color: 0x44ffaa, //光柱颜色，光柱map贴图是白色，可以通过color调节颜色
      transparent: true, //使用背景透明的png贴图，注意开启透明计算
      side: THREE.DoubleSide, //双面可见
      depthWrite: false, //是否对深度缓冲区有任何的影响
    } );
    var mesh = new THREE.Mesh( geometry, material );
    var group = new THREE.Group();
    // 两个光柱交叉叠加
    group.add( mesh, mesh.clone().rotateZ( Math.PI / 2 ) );//几何体绕x轴旋转了，所以mesh旋转轴变为z
    group.position.set( pos.x, pos.y, pos.z );//设置mesh位置
    var coordVec3 = new THREE.Vector3( pos.x, pos.y, pos.z ).normalize();
    var meshNormal = new THREE.Vector3( 0, 0, 1 );
    // 四元数属性.quaternion表示mesh的角度状态
    //.setFromUnitVectors();计算两个向量之间构成的四元数值
    group.quaternion.setFromUnitVectors( meshNormal, coordVec3 );
    return group;
  }

  /**
   * 光柱底部的矩形平面特效
   */
  function createLightWaveMesh( pos, texture ) {
    var geometry = new THREE.PlaneBufferGeometry( 1, 1 ); //默认在XOY平面上
    var material = new THREE.MeshBasicMaterial( {
      color: 0x22ffcc,
      map: texture,
      transparent: true, //使用背景透明的png贴图，注意开启透明计算
      // side: THREE.DoubleSide, //双面可见
      depthWrite: false, //禁止写入深度缓冲区数据
    } );
    var mesh = new THREE.Mesh( geometry, material );
    var size = radius * 0.05;//矩形平面Mesh的尺寸
    mesh.scale.set( size, size, size );//设置mesh大小
    return mesh;
  }

  /**
   * 光柱效果
   */
  function initLightPillar() {
    var texture = new THREE.TextureLoader().load( './examples/imgs/diqiu2/标注.webp' );
    var datas = [
      {
        lng: 86.39895905468748, lat: 45.15923349468924 //合肥
      },
      {
        lng: 106.54041, lat: 29.40268 //重庆
      }
    ];
    datas.forEach( function ( obj ) {
      var pos = lglt2xyz( obj.lng, obj.lat );
      var LightPillar = createLightPillar( pos );
      groupDots.add( LightPillar );
      var waveMesh = createLightWaveMesh( pos, texture );
      LightPillar.add( waveMesh );
    } );
  }

  /**
   * @description 初始化点和曲线
   */
  function initDotAndFly() {
    // 创建标注点
    setRandomDot( groupDots );
    //随机点加载group上面
    group.add( groupDots );
    // 曲线
    var animateDots = [];
    console.info("第一个坐标是多少")
    console.info(groupDots.children[0].position)
    groupDots.children.forEach( elem => {
      if (groupDots.children[0].position.x == elem.position.x) {
        return true;
      }
      var line = addLines( groupDots.children[0].position, elem.position );
      groupLines.add( line.lineMesh );
      animateDots.push( line.curve.getPoints( 100 ) ); //这个是里面球
    } );
    group.add( groupLines );
    // 添加动画
    for (let i = 0; i < animateDots.length; i ++) {
      const aGeo = new THREE.SphereGeometry( 0.03, 0.03, 0.03 );
      const aMater = new THREE.MeshPhongMaterial( { color: '#F8D764' } );
      const aMesh = new THREE.Mesh( aGeo, aMater );
      aGroup.add( aMesh );
    }
    var vIndex = 0;
    function animateLine() {
      aGroup.children.forEach( ( elem, index ) => {
        const v = animateDots[index][vIndex];
        elem.position.set( v.x, v.y, v.z );
      } );
      vIndex ++;
      if (vIndex > 100) {
        vIndex = 0;
      }
      setTimeout( animateLine, 20 );
    }
    group.add( aGroup );
    animateLine();
  }

  /**
   * 中国描边高亮
   */
  function initGeoJson() {
    const loader = new THREE.FileLoader();
    loader.load( './examples/models/json/geoJson/china.json', function ( data ) {
      const jsonData = JSON.parse( data );
      initMap( jsonData );
    } );
    loader.load( './examples/models/json/geoJson/china-outline.json', function ( data ) {
      const jsonData = JSON.parse( data );
      outLineMap( jsonData );
    } );
  }

  function outLineMap( json ) {
    json.features.forEach( elem => {
      // 新建一个省份容器：用来存放省份对应的模型和轮廓线
      const province = new THREE.Object3D();
      const coordinates = elem.geometry.coordinates;
      coordinates.forEach( multiPolygon => {
        multiPolygon.forEach( polygon => {
          // 这里的坐标要做2次使用：1次用来构建模型，1次用来构建轮廓线
          if (polygon.length > 200) {
            var v3ps = [];
            for (let i = 0; i < polygon.length; i ++) {
              var pos = lglt2xyz( polygon[i][0], polygon[i][1] );
              v3ps.push( pos );
            }
            var curve = new THREE.CatmullRomCurve3( v3ps, false/*是否闭合*/ );
            var color = new THREE.Vector3( 0.5999758518718452, 0.7798940272761521, 0.6181903838257632 );
            var flyLine = initFlyLine( curve, {
              speed: 0.4,
              // color: randomVec3Color(),
              color: color,
              number: 3, //同时跑动的流光数量
              length: 0.2, //流光线条长度
              size: 2 //粗细
            }, 5000 );
            province.add( flyLine );
          }
        } );
      } );
      map.add( province );
    } );
    group.add( map );
  }

  function initMap( chinaJson ) {
    // 遍历省份构建模型
    chinaJson.features.forEach( elem => {
      // 新建一个省份容器：用来存放省份对应的模型和轮廓线
      const province = new THREE.Object3D();
      const coordinates = elem.geometry.coordinates;
      coordinates.forEach( multiPolygon => {
        multiPolygon.forEach( polygon => {
          const lineMaterial = new THREE.LineBasicMaterial( { color: 0XF19553 } ); //0x3BFA9E  0XF19553
          const positions = [];
          const linGeometry = new THREE.BufferGeometry();
          for (let i = 0; i < polygon.length; i ++) {
            var pos = lglt2xyz( polygon[i][0], polygon[i][1] );
            positions.push( pos.x, pos.y, pos.z );
          }
          linGeometry.setAttribute( 'position', new THREE.Float32BufferAttribute( positions, 3 ) );
          const line = new THREE.Line( linGeometry, lineMaterial );
          province.add( line );
        } );
      } );
      map.add( province );

    } );
    group.add( map );
  }

  /**
   * @param curve {THREE.Curve} 路径,
   * @param matSetting {Object} 材质配置项
   * @param pointsNumber {Number} 点的个数 越多越细致
   * */
  function initFlyLine( curve, matSetting, pointsNumber ) {
    var points = curve.getPoints( pointsNumber );
    var geometry = new THREE.BufferGeometry().setFromPoints( points );
    const length = points.length;
    var percents = new Float32Array( length );
    for (let i = 0; i < points.length; i += 1) {
      percents[i] = ( i / length );
    }
    geometry.addAttribute( 'percent', new THREE.BufferAttribute( percents, 1 ) );
    const lineMaterial = initLineMaterial( matSetting );
    var flyLine = new THREE.Points( geometry, lineMaterial );
    return flyLine;
  }

  function initLineMaterial( setting ) {
    const number = setting ? ( Number( setting.number ) || 1.0 ) : 1.0;
    const speed = setting ? ( Number( setting.speed ) || 1.0 ) : 1.0;
    const length = setting ? ( Number( setting.length ) || 0.5 ) : 0.5;
    const size = setting ? ( Number( setting.size ) || 3.0 ) : 3.0;
    const color = setting ? setting.color || new THREE.Vector3( 0, 1, 1 ) : new THREE.Vector3( 0, 1, 1 );
    const singleUniforms = {
      u_time: uniforms2.u_time,
      number: { type: 'f', value: number },
      speed: { type: 'f', value: speed },
      length: { type: 'f', value: length },
      size: { type: 'f', value: size },
      color: { type: 'v3', value: color }
    };
    const lineMaterial = new THREE.ShaderMaterial( {
      uniforms: singleUniforms,
      vertexShader: document.getElementById( 'vertexShader2' ).textContent,
      fragmentShader: document.getElementById( 'fragmentShader2' ).textContent,
      transparent: true,
      //blending:THREE.AdditiveBlending,
    } );
    return lineMaterial;
  }

  /**
   * 窗口变动
   **/
  function onWindowResize() {
    camera.aspect = innerWidth / innerHeight;
    camera.updateProjectionMatrix();
    renders();
    renderer.setSize( innerWidth, innerHeight );
  }

  /**
   * @description 渲染
   */
  function renders() {
    renderer.clear();
    renderer.render( scene, camera );
  }

  /**
   * 更新
   **/
  function animate() {
    window.requestAnimationFrame( () => {
      if (controls) controls.update();
      if (stats) stats.update();
      if (TWEEN) TWEEN.update();
      if (initFlag) {
        //光环
        groupHalo.rotation.z = groupHalo.rotation.z + 0.01;
        group.rotation.y = group.rotation.y + 0.001;
        // 所有波动光圈都有自己的透明度和大小状态
        // 一个波动光圈透明度变化过程是：0~1~0反复循环
        if (WaveMeshArr.length) {
          WaveMeshArr.forEach( function ( mesh ) {
            mesh._s += 0.007;
            mesh.scale.set( mesh.size * mesh._s, mesh.size * mesh._s, mesh.size * mesh._s );
            if (mesh._s <= 1.5) {
              //mesh._s=1，透明度=0 mesh._s=1.5，透明度=1
              mesh.material.opacity = ( mesh._s - 1 ) * 2;
            } else if (mesh._s > 1.5 && mesh._s <= 2) {
              //mesh._s=1.5，透明度=1 mesh._s=2，透明度=0
              mesh.material.opacity = 1 - ( mesh._s - 1.5 ) * 2;
            } else {
              mesh._s = 1.0;
            }
          } );
        }
      }
      if (stars) {
        stars.rotation.y += .0001;
      }
      uniforms2.u_time.value += 0.007;
      renders();
      animate();
    } );
  }

  window.onload = () => {
    initRenderer();
    initCamera();
    initScene();
    initLight();
    // initAuxiliaryTool();
    // initStats();
    //初始化地球
    initEarth();
    // initEarth2(); //地球2使用菲尼尔反射效果，可以配合GUI使用，使用记得开启initGui()方法注释
    //卫星特效
    initSatellite();
    //地球光晕
    initEarthSprite();
    //初始化动态星空背景
    initPoints();
    //初始化点和曲线，放在tween动画完成后调用
    // initDotAndFly();

    //外圈中国描边高亮
    initGeoJson();
    initControls();
    initTween();
    // initGui();
    animate();
    window.addEventListener('resize', onWindowResize, false);
  };

</script>
<!--3d地球结束-->
</body>
</html>
